Reliable estimation of pulse transit time in motion for cuffless blood pressure estimation

ABSTRACT

Apparatuses, systems, and methods described herein can enable reliable estimation of pulse transit time (PTT) for a user in motion for cuffless blood pressure estimation. In one embodiment, a method involves receiving an electrocardiographic (ECG) signal and a photoplethysmographic (PPG) signal and detecting R-wave peaks in the ECG signal. The method further involves identifying multiple segments of the PPG signal based on detection of the R-wave peaks of the ECG signal, wherein a given segment of the PPG signal comprises multiple samples and is aligned with a corresponding R-wave. The method also involves generating an averaged PPG wave based on the multiple segments of the PPG signal, wherein a given element of the averaged PPG wave comprises an average of corresponding elements from the multiple segments of the PPG signal, and computing the blood pressure value based on the averaged PPG wave.

FIELD

The descriptions are generally related to sensing one or more biologicalfunctions, and more specifically, pulse transmit time estimation forcuffless blood pressure estimation.

COPYRIGHT NOTICE/PERMISSION

Portions of the disclosure of this patent document may contain materialthat is subject to copyright protection. The copyright owner has noobjection to the reproduction by anyone of the patent document or thepatent disclosure as it appears in the Patent and Trademark Officepatent file or records, but otherwise reserves all copyright rightswhatsoever. The copyright notice applies to all data as described below,and in the accompanying drawings hereto, as well as to any softwaredescribed below: Copyright© 2016, Intel Corporation, All RightsReserved.

BACKGROUND

Advances in computing technologies and sensor devices encourages theincorporation of more technology in wearable sensors and personalcomputing systems. Such technologies offer the hope of obtainingbiometric data from devices that are small and unobtrusive enough to becarried and/or worn. Biometric data has particular interest in healthand well-being monitoring, as well as sports performance monitoring.However, there are traditionally many limitations encountered indesigning and implementing actual systems that generate usable biometricdata.

For example, data obtained with a wearable sensor when a user is inmotion (e.g., walking or during other forms of motion) can includesignificant motion artifacts. Motion artifacts can be significant enoughto cause inaccuracies in the data collected with the sensor.

BRIEF DESCRIPTION OF THE DRAWINGS

The following description includes discussion of figures havingillustrations given by way of example of implementations of embodimentsof the invention. The drawings should be understood by way of example,and not by way of limitation. As used herein, references to one or more“embodiments” are to be understood as describing at least oneimplementation of the invention that includes one or more particularfeatures, structures, or characteristics. Thus, phrases such as “in oneembodiment” or “in an alternate embodiment” appearing herein describevarious embodiments and implementations of the invention, and do notnecessarily all refer to the same embodiment. However, they are also notnecessarily mutually exclusive.

FIG. 1 illustrates a wearable blood pressure measurement device on auser, in accordance with embodiments.

FIG. 2 illustrates a graph of an electrocardiographic (ECG) signal and aphotoplethysmographic (PPG) signal versus time, in accordance withembodiments.

FIG. 3 illustrates PPG waveforms for a user at rest and while walking,in accordance with embodiments.

FIG. 4 illustrates a block diagram of a blood pressure measurementsystem, in accordance with embodiments.

FIG. 5 illustrates one example of a wearable blood pressure measurementdevice, in accordance with an embodiment.

FIG. 6 illustrates another view of the embodiment of the system of FIG.5, in accordance with embodiments.

FIG. 7 is a block diagram of blood pressure estimation logic, inaccordance with embodiments.

FIG. 8 illustrates a method of determining a blood pressure value, inaccordance with an embodiment.

FIGS. 9A and 9B are flow charts of methods of determining a bloodpressure value, in accordance with an embodiment.

FIG. 10 is a graph showing a PPG signal with motion artifacts, inaccordance with an embodiment.

FIGS. 11A and 11B illustrate an averaged PPG waveform based on the PPGsignal of FIG. 10, in accordance with embodiments.

FIG. 12 is a block diagram of a computing system in which a method ofdetermining blood pressure can be implemented, in accordance with anembodiment.

FIG. 13 is a block diagram of a mobile device in which a method ofdetermining blood pressure can be implemented, in accordance with anembodiment.

Descriptions of certain details and implementations follow, including adescription of the figures, which may depict some or all of theembodiments described below, as well as discussing other potentialembodiments or implementations of the inventive concepts presentedherein.

DETAILED DESCRIPTION

Methods, apparatuses, and systems for estimation of pulse transit timefor cuffless blood pressure measurement are described. “Cuffless” bloodpressure measurement refers to blood pressure measurement withoutrelying on a traditional blood pressure cuff. Typically, techniques forcuffless blood pressure measurement are ineffective when a user is inmotion (e.g., walking or in the presence of other motion). In contrast,embodiments described herein can enable accurate determination of PTTand a blood pressure value without requiring a traditional bloodpressure cuff and in the presence of significant motion noise.

In one embodiment, a method of measuring blood pressure involvesreceiving an electrocardiographic (ECG) signal and aphotoplethysmographic (PPG) signal and detecting R-wave peaks in the ECGsignal. The method also involves identifying multiple segments of thePPG signal based on the detected R-wave peaks of the ECG signal. In onesuch example, a given segment of the PPG signal has multiple PPG samplesand is aligned with a corresponding detected R-wave peak. An average PPGwaveform can then be generated by computing an average of correspondingsamples from the multiple segments. Blood pressure can then be computedbased on the averaged PPG wave. In one such embodiment, by using theR-wave peaks of the ECG signal to select segments from the PPG signalfor averaging, an accurate blood pressure can be determined without acuff and in the presence of motion noise.

FIG. 1 illustrates a wearable blood pressure measurement device on auser, in accordance with embodiments. In one embodiment, the wearableblood pressure measurement device 102 is a wearable flexible patchplatform for determining a blood pressure value of a user. Unlikeexisting blood pressure measurement devices that require the use of ablood pressure cuff, the wearable blood pressure patch is a “cuffless”solution in that a user can use the patch without a blood pressure cuffto obtain a blood pressure reading. The wearable blood pressuremeasurement device 102 includes an adhesive to adhere to a user's skinin the torso region. Thus, the wearable blood pressure measurementdevice 102 includes sensors and circuitry to determine a blood pressurevalue based on sensors attached to a user's torso without relying on acuff, in accordance with embodiments.

In one embodiment, the wearable blood pressure patch estimates bloodpressure based on a photoplethysmographic (PPG) signal and anelectrocardiographic (ECG) signal (or electrokardiogram (EKG) signal).For example, in the illustrated embodiment, the wearable blood pressuremeasurement device 102 includes PPG sensor 104 and an ECG sensor 106.The PPG sensor 104 can include a light source such as light emittingdiodes (LEDS) to illuminate the skin and optical sensors such asphotodiodes to detect light reflected back to the PPG sensor. Blood inthe arteries causes the arteries to expand and contract as blood fromthe heart is transported to and away from the arteries, respectively. Anexpanded artery in proximity to the light sensor will typically reflectmore light back to the sensor than the same artery that is not expanded.This difference in reflected light can be used to determine blood flowconditions in the arteries, in accordance with embodiments. In oneembodiment, the ECG sensor includes electrodes (e.g., electricallyconductive elements) to detect electrical activity of the heart throughthe user's skin.

Based on the PPG and ECG signals, circuitry on the wearable bloodpressure patch can determine a pulse transit time (PTT). PTT is ameasurement of the time it takes for a pulse of blood to travel from theheart to a peripheral location on the body. PTT is inversely correlatedto BP. Accordingly, circuitry on the wearable blood pressure patch canuse signals from the ECG and PPG sensors to determine PTT, and based onthe PTT, estimate a blood pressure value.

FIG. 2 illustrates a graph 200 of an electrocardiographic (ECG) signaland a photoplethysmographic (PPG) signal versus time, in accordance withembodiments. The line 202 corresponds to the ECG waveform and the line204 corresponds to the PPG waveform. The PTT 206 is measured between apeak of the ECG waveform and a corresponding peak of the PPG waveform.In the illustrated example, the peak of the ECG waveform occurs at timeT1, the time corresponding to line 208. The peak of the PPG waveformoccurs at time T2, the time corresponding to the line 210. Thus, the PTT206 is the time between the peaks 208 and 210.

The accuracy of blood pressure estimation from PTT depends on theaccuracy of the PTT measurement. A typical PTT value at rest is about200 milliseconds (ms). An error of even 1 ms in the PTT measurement cantranslate to 1 mmHg error in the blood pressure estimate. In accordancewith embodiments, the maximum permissible error is 5 mmHg. Thus, inaccordance with embodiments, an error of more than 5 ms in the PTTmeasurement causes an unacceptably high error in the blood pressureestimate. Therefore, accurate PTT measurement can be critical for bloodpressure estimation based on PTT. Unfortunately, existing systems tomeasure blood pressure based on PTT are not sufficiently accurate when auser is in motion (e.g., due to inaccurate PPG or ECG measurements).Typically, the motion of a user causes more errors in PPG measurementsthan in ECG measurements.

For example, FIG. 3 illustrates PPG waveforms for a user at rest andwhile walking, in accordance with embodiments. FIG. 3 includes areference PPG waveform 302, and a PPG waveform 304 for a user in motion.The vertical dotted lines indicate the location of PPG peaks 306 on thereference PPG waveform 302.

As illustrated in FIG. 3, the reference PPG waveform 302 for a user atrest is free from noise, and the PPG peaks are easily identifiable. Incontrast, the PPG waveform 304 for a user in motion has a significantamount of motion noise. Due to additive motion noise, the PPG peaks canbecome shifted by up to 50 ms in some cases (see, for example, theshifted peaks 308), or masked. Motion noise can cause PPG peaks to shiftby an amount that is significant enough to cause an unacceptably higherror rate in the resulting PTT and blood pressure estimations. PPGmeasurements are typically more susceptible to motion noise whencompared to ECG measurements due to the nature of the sensor used toobtain the PPG signal. For example, a PPG sensor can include LEDs andphotodiodes that touch the skin, but can move slightly when the usermoves (unlike ECG sensor electrodes, for example, which are typicallysecurely adhered to a user's skin and experience less movement).Furthermore, existing techniques are not able to extract a PPG signal inthe presence of motion noise because the frequency components of themotion noise can completely overlap the PPG signal spectrum. As aresult, traditional signal processing techniques are ineffective atfiltering out the noise and identifying the true PPG peaks. For example,traditional signal processing techniques such as digital bandpassfilters for reducing noise frequencies are ineffective because thefilters also eliminate PPG signal components due to the spectral overlapbetween the noise and PPG signal. Similarly, threshold based techniquesare ineffective for peak detection because signal peaks can becompletely masked or shifted due to spurious noise peaks. Therefore,existing devices that use PPG to estimate blood pressure are ineffectivewhen the user is in motion.

In contrast, embodiments include techniques for accurately determiningPTT, and therefore accurately determining blood pressure, by identifyingtrue PPG peaks in the presence of severe motion artifacts. In oneembodiment, a method of determining a blood pressure value involvesreceiving an ECG and a PPG signal and detecting R-wave peaks in the ECGsignal. The method further involves identifying multiple segments of thePPG signal based on detection of the R-wave peaks of the ECG signal,wherein a given segment is aligned with a corresponding R-wave peak. Forexample, the R-waves of the ECG signal can act as anchor points todetermine segments of the PPG signal to average. The method theninvolves computing an average of corresponding samples from multiplesegments to generate an averaged PPG wave. Finally, the blood pressurevalue can be computed based on a PTT measurement, which can be based onthe averaged PPG wave.

FIG. 4 illustrates a block diagram of a blood pressure measurementsystem, in accordance with an embodiment. The system in FIG. 4illustrates an embodiment of a wearable device 405 for measuring bloodpressure without a blood pressure cuff. The wearable blood pressuremeasurement device 405 is an example of the device 102 of FIG. 1 thatcan be worn by a user to measure blood pressure both at rest and inmotion. The wearable blood pressure measurement device 405 includes apatch with sensors for detecting ECG and PPG signals and other circuitryfor measuring biologic signals, in accordance with embodiments.

In the illustrated embodiment, the wearable blood pressure measurementdevice 405 includes an ECG sensor 408 and a PPG sensor 402. The ECGsensor 408 includes a plurality of conductive electrodes 409. Theconductive electrodes 409 can include a metal such as copper, gold,silver, aluminum, tin, titanium, platinum, nickel, a combination ofmetals, or another conductive material. In one embodiment, the ECGelectrodes 409 are dry conductive electrodes, as compared toconventional ECG electrodes with jelly (which can result in aprogressively deteriorating signal over time).

The illustrated embodiment also includes a PPG sensor 402 for detectinga PPG signal as described above. In the illustrated embodiment, the PPGsensor 402 includes one or more light emitting diodes (LEDs) 404 and oneor more photodiodes 406. The LEDs 404 produce light. The light isemanated to blood of the user wearing the device 405 and is reflectedand scattered, at least partially, by the blood back to the photodiode406. In one or more embodiments, the LEDs produce light in the visiblespectrum (e.g., green or another color of light that is suitable fordetecting a PPG signal). The photodiode 406 detects changes in lightreflected from the skin. For example, the pulsatile blood flow changesthe intensity of reflected light. Different amounts of light arereflected depending on a state of blood flow near the skin. In one ormore embodiments, a red and an infra-red LED can be used in conjunctionwith a green LED to help provide real-time, ambulatory monitoring ofblood oxygen saturation.

In the illustrated embodiment, the wearable blood pressure measurementdevice 405 also includes a processor 410, input/output (I/O) circuitry417, and storage 411. The processor 410 can includes any processingdevice or computational circuit, such as a microprocessor (e.g.,including one or more cores), a microcontroller, a digital signalprocessor (DSP), or any other type of processor or processing device. Inaccordance with embodiments, processor 410 receives signals from the PPGsensor 402 and ECG sensor 408 via conductive interconnects and performscomputations using the data received from the sensors. The processor 410can store data 427 from the sensors, computed values, or both in astorage device 411. The storage device 411 can include one or more typesof electronic storage, such as volatile memory, nonvolatile memory, orboth to store data, code, or other information such as computed PTT orblood pressure measurements. Volatile memory is memory whose state (andtherefore the data stored on it) is indeterminate if power isinterrupted to the device. Nonvolatile memory refers to memory whosestate is determinate even if power is interrupted to the device. Otherembodiments include no or minimal storage and instead transmit data(e.g., averaged PPG values, PTT values, blood pressure values) to anexternal computing device 407 rather than storing data locally. Otherembodiments can both store data in storage 411 and transmit data to anexternal computing device either at predetermined intervals, on demand,or can stream data real time to an external computing device 407. Theexternal computing device can include a mobile device or other computingdevice, such as the computing devices described below with respect toFIGS. 12 and 13. The device 405 also includes a power source 431 toprovide power to the components of the device 405. For example, thepower source 431 can include an internal battery or other power source.

In the illustrated embodiment, the wearable blood pressure measurementdevice 405 includes I/O circuitry 417 to interface with the externalcomputing device 407. The I/O circuitry 417 can include circuitry forcoupling the wearable blood pressure measurement device 405 with theexternal computing device 407. The I/O circuitry can also includecircuitry for receiving signals from sensors on the device 405, such asa PPG and ECG signal. As used herein, coupling can refer to anelectrical coupling, communicative coupling, physical coupling, or acombination of these. Physical coupling can include direct contact.Electrical coupling includes an interface or interconnection that allowselectrical flow between components, or allows signaling betweencomponents, or both. Communicative coupling includes connections,including wired or wireless, that enable components to exchange data. Inone embodiment, the I/O circuitry includes wireless transmissioncircuitry such as transmission circuitry 421 to provide modulated radiosignals to an antenna 419 for transmitting wireless signals (e.g.,Bluetooth®, induction wireless, infrared wireless, ultra-wideband,ZigBee, or other personal area network compliant signals). The I/Ocircuitry 417 can also include receiving circuitry 423 to receivesignals from the external computing device 407. The I/O circuitry 417can also, or alternatively include wires within an integrated circuitinterface to couple with a pad, pin, or connector to interface signallines or traces or other wires between devices. I/O interface circuitry417 can include drivers, receivers, transceivers, or termination, orother circuitry or combinations of circuitry to enable the transmissionand receipt of signals between devices.

Referring again to the processor 410, the processor can execute bloodpressure estimation logic 415 to determine a blood pressure value basedon the data received from the ECG sensor 408 and the PPG sensor 402. Theblood pressure estimation logic 415 can include software, hardware, or acombination of software and hardware to perform methods of determining ablood pressure value and described herein. Note that although the bloodpressure estimation logic 415 is illustrated in FIG. 4 as being in theprocessor 410, in one embodiment in which the blood pressure estimationlogic 415 includes hardware logic to perform one or more operations,such hardware logic can be external to the processor 410. In oneembodiment, program code 425 for performing a method of determining ablood pressure value is stored in storage 411. The processor 410 canexecute the code 425 to perform a method in accordance with anembodiment described herein. Note that although the example in FIG. 4 isreferred to as a “blood pressure” measuring device, in otherembodiments, the measurement of PPG and ECG signals, the computation ofPTT, and blood pressure estimation can be performed by differentdevices. For example, in one embodiment, a wearable device detects andtransmits PPG and ECG values, and an external device receives thesignals and determines a blood pressure value based on the receivedsignals.

FIG. 5 illustrates one example of a wearable blood pressure measurementdevice in accordance with an embodiment. The wearable blood pressuremeasurement device 500 can be the same or similar to the device 405 ofFIG. 4. The system 500 as illustrated includes a flexible, stretchablepatch 502 and a control circuit 504. The view provided in FIG. 5 showsthe side of the patch that faces the surface of a user's skin that iswearing the patch. The patch 502 can include a flexible, stretchablematerial to enable a user to wear the patch 502 in a torso region atrest or in motion. A material is “flexible” if the material can rotateand bend, and a material is “stretchable” if the material can lengthenin response to an applied force such as pulling. In one embodiment, thepatch 502 includes a flexible, stretchable substrate 508 onto which thecircuitry is disposed. The substrate 508 can also be attached to or on aflexible, stretchable support material 506 such as a fabric. The fabric506 can include a material used in clothing, such as Lycra, vinyl,polyamide polyurethane-elastane, velvet, cotton, denim, polyester, oranother flexible, stretchable fabric. The fabric 506 can providemechanical strength for the substrate 508 and circuitry on thesubstrate. For example, the fabric 506 can enable the patch 502 towithstand more force in being stretched, bent, rotated, or otherwisehaving force exerted thereon.

In accordance with embodiments, the substrate 508 can include aflexible, stretchable material, such as thermo-plastic polyurethane(TPU), silicone and/or polydimethylsiloxane (PDMS), poly (lactic acid)based polymers or co-polymers, other bio-compatible tri-blockcopolymers, thermosets (e.g., polyuria), polydimethylsiloxane (PDMS), oranother flexible, stretchable material over which circuitry can bedisposed. The substrate 508 can be attached to the fabric 506 (whenpresent) by heat pressing the substrate 508 into the fabric 506, or byanother means of attaching the substrate to the fabric.

A first metallization layer can be situated on the substrate 508, suchas by an additive process (e.g., printing, deposition, or anotheradditive process), a subtractive process (e.g., a process that includesremoving material, such as by etching), or both. In the illustratedembodiment, the first metallization on the substrate material 508includes a plurality of ECG electrodes 510, meandering traces 512,stretch limiting patches 514, a stretch sensor 516, and contact pads 520(note that not all contact pads include reference numerals so as to notobscure the view of other portions of the patch 502). The firstmetallization can include copper, gold, silver, aluminum, tin, titanium,palladium, platinum, nickel, a combination thereof, or anotherconductive material. The ECG electrodes 510, meandering traces 512,stretch limiting patches 514, stretch sensor 516, and the pads 520 canbe made of different or same materials.

In one embodiment, the ECG electrodes 510 are dry conductive electrodes,such as the electrodes 409 described above with respect to FIG. 4. TheECG electrodes 510 can include perforations 518. The perforations 518are voids in the electrodes 510. The perforations 518 can aid inanchoring the electrodes 510 to the substrate 508. The perforations 518can also help reduce overall cost of the device, such as when using anadditive manufacturing technique (e.g., conductive ink printing). Forexample, an inkjet process can use a silver-based printing material(e.g., a silver-based conductive “ink”) to form the ECG electrodes aswell as other metal features. The perforations 518 can also helpincrease flexibility without significantly impacting performance (e.g.,electrical performance characteristics) of the electrode 510.

The traces 512 electrically couple the electrodes 510 to respective pads520. In the illustrated embodiment, the traces 512 are formed with ameandering pattern, such as to increase the stretchability, flexibility,or both of the patch 502 as compared to using generally straight traces.The stretch limiting patches 514 can include metallization withperforations 522 similar to the perforations 518. The stretch limitingpatches 514 are positioned to help prevent breakage of othermetallization, such as the electrodes 510, electrical junctions betweenthe traces 512 and other metallization, pads 520, or the interconnectbetween the fabric 506 and the substrate 508. The stretch limitingpatches 514 constrain the strain in the regions in and around thestretch limiting patches and help prevent over-stretching in areas thatmight otherwise break if the patch 502 is over-stretched. The ECGelectrodes 510 can be low-profile, thin, stretchable, flexible,low-cost, disposable, or a combination of those properties.

The stretch sensor 516 can provide, by way of resistance measurements,an indication of an amount to which the stretch sensor 516 is stretched.The resistance value of the meandering traces of the stretch sensor 516can change as they are stretched more or less. Circuitry that isconnected to the pads 520 that are electrically connected to the stretchsensor 516 can determine the resistance. The circuitry can interpret,modify, or otherwise analyze the resistance to determine a respirationrate and/or heart rate of the individual wearing the system 500.

The control circuit 504 as illustrated includes a sensor node 530 and aflex circuit 532. The flex circuit 532 can be electrically andmechanically coupled to the sensor node 530. For example, in theillustrated embodiment, the traces 534 provide a conductive path to thesensor node 530. The vias 536 provide a path for signals to travel fromone layer of the flex circuit 532 to another layer of the flex circuit532. The sensor node 530 can include electronic components (e.g., anoscillator, resistors, transistors, processors, switches, inductors,capacitors, diodes, amplifiers, voltage and/or current regulators,voltage and/or current boosters, antennas, power sources (e.g.,batteries), or other electronic components. In one embodiment, thesensor node 530 includes circuitry and logic to process, store, andtransmit data such as PPG, ECG, PTT, and blood pressure values. Forexample, the sensor node 530 can include one or more of processingcircuitry, I/O circuitry, and storage in accordance with FIG. 4. Theflex circuit 532 as illustrated includes a plurality of light emittingdiodes (LEDs) 524, a photodiode 526, a sensor 528, traces 534, and vias536. While not shown in this view of the flex circuit 532, the flexcircuit 532 can include one or more contact pads to couple the flexcircuit 532 with the patch 502. The flex circuit 532, in one or moreembodiments includes a polyimide substrate with second metallization(e.g., second traces 534 or other metallization) therein or thereon. Thesecond metallization can include the second traces 534, vias, and/orsecond pads, such as can be used to mount the flex circuit 532 on thepatch 502 or to mount one or more of the LEDs 524, photodiode 526, andsensor 528 on the flex circuit 532. Signals from the ECG electrodes 510and/or the stretch sensor 516 can be provided to the sensor node 530through second metallization on the flex circuit 532.

The LEDs 524 and photodiode 526 can be in accordance with the LEDs 404and photodiode 406 of FIG. 4, and can enable detection of a PPG signal.In one or more embodiments, the LEDs 524 can be low-profile screenprinted/organic LEDs. The system 500 can also include other sensors,such as a temperature detector (TD) (e.g., a thermistor, a resistancethermometer, or a resistance TD (RTD)), a motion sensor, noise sensor,or mechanical sensor. An RTD is a component that changes resistance withtemperature in a predictable manner. RTDs are typically made from a puremetal, such as copper, nickel, or platinum, wrapped in a coil around acore, such as a ceramic or glass. A motion sensor (sometimes referred toas an accelerometer) detects whether and/or a general direction ofacceleration of the sensor. A noise sensor detects externalelectromagnetic signals and provides a signal indicative of a magnitudeof the detected signals. The signals from one or more of the motion,noise, and stretch sensor can be used for adaptive noise cancellationand can help reduce motion related noise from bio-signals.

Unlike current ECG-only patches available in the market today the system500 can integrate two or more of ECG electrodes, optical PPG sensors,temperature sensor (e.g., the thermistor 528), and respiration sensor(e.g., the stretch sensor 516) onto the same flexible substrate (e.g., acombination of the flex circuit 532, substrate material 508, and thefabric 506). Mounting the rigid LEDs 524 on a flexible polyimide (e.g.,the substrate of the flex circuit 532) and then on the substrate 508 canhelp to improve reliability at rigid-flex junctions. This is at least inpart due to the components being rigid and providing localized flex andstretch resistance near the components.

FIG. 6 illustrates another view of the embodiment of the system 500 ofFIG. 5, in accordance with embodiments. The view shown in FIG. 6 are theportions of the system 500 that are facing away from the user wearingpatch (e.g., an external view).

The patch 502 in the illustrated embodiment includes an optional male orfemale connection feature 630. The sensor node 530 in the illustratedembodiment includes a mating female or male connection feature 632. Theconnection feature 630 can include a snap, magnet, connector, hook andloop, or other suitable connection feature. The connection feature 632can include the mating snap, magnet, connector, Velcro, other suitableconnection feature. When in contact, the connection features 630 and 632can secure the sensor node 530 to the fabric 506, in accordance withembodiments. In some embodiments that do not include the connectionfeatures 630 and 632, a double-sided adhesive tape, glue, or otherattachment mechanism can be used to secure the sensor node 530 to thefabric 506.

As discussed above, the flex circuit 532 as illustrated includes contactpads 538. The contact pads 538 can be situated to align with the contactpads 520. The contact pads 538 can be in electrical and mechanicalcontact (e.g., by solder or a conductive adhesive) with the contact pads520, such as to provide electrical signals from the contact pads 520(e.g., from the electrodes 510 or stretch sensor 516) to the flexcircuit 532.

FIG. 7 is a block diagram of blood pressure estimation logic, inaccordance with embodiments. The blood pressure estimation logic 700 isan example of the blood pressure estimation logic 415 of FIG. 4, inaccordance with an embodiment. The blood pressure logic can includesoftware, hardware, or a combination of software and hardware. The bloodpressure estimation logic 700 of FIG. 7 includes logic to compute anaccurate averaged PPG wave by using ECG R-waves as anchor points andlogic to estimate blood pressure using the averaged PPG wave.

In the illustrated embodiment, the blood pressure estimation logicincludes sampling logic 701. The sampling logic 701 can synchronouslysample an ECG and PPG signal. Sampling involves the extraction ofdiscrete samples from a continuous-time signal. A sample is a value (ora set of value) at a point in time. Thus, in one embodiment, thesampling logic 701 receives ECG and PPG signals from sensors attached toa user and extracts samples from the ECG and PPG signals over a samplingwindow. In on such embodiment, the sampling rate for the ECG and PPGsignals is the same, which results in a same number of PPG samples asECG samples for a given sampling window. In other embodiments, thesampling rate can be different (e.g., the sampling logic 701 can acquiremore PPG samples or more ECG samples, in accordance with embodiments).

The blood pressure estimation logic 700 also includes R-wave detectionlogic 702. R-wave detection logic 702 includes logic to detect R-waves(e.g., R-wave peaks) in an ECG signal. FIG. 2 illustrates an example ofan ECG signal 202 with an R-wave at time T1. The R-wave detection logic702 takes a sampled ECG signal as an input and identifies a location ofan R-wave peak. In one embodiment, the R-wave detection logic 702 canoutput a time or other indicator to indicate that an R-wave is detectedin the ECG signal.

The blood pressure estimation logic 700 also includes PPG averaginglogic 706. The PPG averaging logic 706 includes logic that computes anaverage PPG wave based on the ECG signal. As mentioned above, the PPGsignal can be susceptible to motion noise, and filtering the motionnoise can be impractical or impossible due to the spectral overlapbetween the noise and PPG signal. For example, one existing techniqueinvolves using a digital band pass filter in the time domain. Digitalfinite impulse response (FIR) and infinite impulse response (IIR)filters can be used for motion noise suppression for some signals.However, FIR and IIR filters are ineffective for de-noising PPG signalsbecause the motion noise's frequency spectrum overlaps the PPG spectrum.Therefore, aggressive filtering can eliminate the PPG signal itself.

In another example, a technique uses spectrum subtraction in thefrequency domain to suppress motion noise for some signals. Spectrumsubtraction in the frequency domain typically relies on signalprocessing in the frequency domain. Specifically, spectrum subtractioninvolves subtraction of isolated band pass filtered noise signalfrequencies from the PPG signal frequencies, and then the resultantfrequencies are de-convoluted back in the time domain. Spectrumsubtraction is not only computation intensive, but also ineffective dueto significant overlap in the noise and PPG signal frequencies. Thede-convoluted PPG waveform in the time domain often has the true PPGpeaks missing as a result of the processing.

In yet another example, a technique using adaptive motion noisecancellation can be used to suppress motion noise in some signals.Adaptive motion noise cancellation relies on integrating a motion sensor(such as an accelerometer, an inertial measurement unit, a piezoelectricelement, or gyroscope) in hardware in close proximity to optical PPGsensors. The motion noise measured by the motion sensors is fed to aproprietary noise model, which first tries to approximate measuredmotion noise and fit it to the actual motion noise induced in the PPGsignal and then adaptively subtract the modeled motion noise from thesignals using least squares approximation. Adaptive motion noisecancellation typically requires a separate motion sensor in hardware andis also computation intensive. Furthermore, the noise model is highlycustomized and has to be tuned to a particular form-factor since noisethat is actually induced in the PPG signal can differ significantly frommotion noise measured by the motion sensor.

In contrast, embodiments that involve a synchronized averaging techniquethat can enhance PPG waves and cancel out random phase-varying motionnoise. Additionally, embodiments use less computation and memoryresources than some existing techniques without distorting oreliminating true PPG peaks. Furthermore, embodiments do not requireseparate noise sensors in hardware or a customized noise model that isrequired in some existing techniques.

According to embodiments, the R-waves in an ECG signal can be used asanchor points to enable accurate averaging of a PPG signal in thepresence of motion noise. Unlike some conventional averaging techniques,which rely on detection of PPG peaks in order to perform the average ofa PPG signal, embodiments use the ECG signal to determine which segmentsof the PPG signal to average. The ECG signal is typically lesssusceptible to motion noise, and it is usually possible to accuratelydetect the R-waves of an ECG signal in the presence of motion noise.This is at least partially because the R-waves are sharp, high amplitudepeaks that are outside the frequency band of typical motion noise.Therefore, unlike the peaks in the PPG signal, the R-waves in an ECGsignal are typically extractable using traditional signal processingtechniques. Thus, in one embodiment, the PPG averaging logic 706exploits the robustness of ECG R-wave detection to suppress motion noisein the PPG signal and detect the true PPG peaks. For example, the PPGaveraging logic 706 uses the detected R-wave peaks as anchor points todefine segments of the PPG signal to average. In one such embodiment,the PPG averaging logic 706 aligns a start time of a given PPG segmentwith a detected R-wave peak in the ECG signal. In this way, the PPGaveraging logic 706 identifies segments of the PPG signal, or acquiressets of samples (e.g., one set of samples per R-wave peak), to average.

After identifying segments of the PPG signal for averaging based on theECG signal, the PPG averaging logic 706 computes an average PPG wave, inaccordance with embodiments. For example, in one embodiment, the PPGaveraging logic 706 computes an average of corresponding samples frommultiple segments to generate an averaged PPG wave. Unlike an averagedPPG wave obtained by traditional techniques in which the true PPG peakscan be shifted or entirely masked, computing an average using segmentsidentified using the ECG signal as an anchor can enable extracting thetrue PPG peaks from the PPG signal in the presence of motion noise.

The blood pressure estimation logic 700 also includes PTT logic 708 tocompute a PTT value. As mentioned above, PTT logic 708 can compute a PTTvalue based on the ECG and PPG signals. In accordance with oneembodiment, the PTT logic 708 determines the PTT value based on theaveraged PPG value that was computed using the R-waves of the ECG signalas an anchor. Thus, the PTT logic 708 can enable more accuratecomputation of PTT when a user is in motion. The blood pressureestimation logic 700 can also include blood pressure logic 710 tocompute a blood pressure value based on the PTT value determined by thePTT logic 708. In other embodiments, one or more computations can beperformed on an external device (e.g., the external computing device 407of FIG. 4).

FIG. 8 illustrates a method 800 of computing an average PPG wave, inaccordance with an embodiment. The method 800 involves averagingsuccessive PPG waveforms synchronized to corresponding R-wave peaks inan ECG signal, in accordance with an embodiment. Unlike existingtechniques that involve averaging based on a single signal, the method800 involves computing an average PPG wave using both an ECG signal anda PPG signal. By anchoring the PPG signal to the ECG signal, embodimentsenable motion noise reduction in a PPG signal.

The method 800 involves receiving an ECG signal 802 from an ECG sensor,such as the ECG sensors described above with respect to FIGS. 4 and 5.As mentioned above, the ECG signal 802 has sharp R-wave peaks803-1-803-n. Although the ECG signal can also experience motion noise,traditional signal processing techniques can typically enable extractionof the R-wave peaks in the ECG signal despite the presence of motionnoise. Furthermore, the motion noise (in the PPG signal 804) tends tohave peaks that are not in synchrony with the ECG signal's R-wave peaks.The phase of the motion-noise peaks in the PPG signal continuouslychanges with respect to the R-wave peaks in the ECG signal, and tends toaverage out to zero over time. In contrast to the motion-noise peaks inthe PPG signal, the PPG signal peaks 806-1-806-n are periodic andtightly synchronized in phase (e.g., phase-locked) with respect to theECG R-wave peaks 803-1-803-n. Thus, the method 800 exploits therandomness property of motion noise in the PPG signal as well as theperiodic and phase-locked property of the PPG peaks with respect to theECG R-wave peaks to suppress motion noise. In one embodiment, the methodinvolves selectively averaging successive segments of PPG waves that arealigned to R-wave peaks to derive a synthetic averaged PPG wave. Due tosuch synchronized averaging, the non-periodic motion noise tends to getcanceled out in the averaged PPG wave, in accordance with embodiments.Furthermore, according to embodiments, the phase-locked PPG peaks tendto self-alight and get enhanced, which enables more accurate PPTestimation. Accordingly, embodiments enable suppression of noise in aPPG signal that would otherwise not be possible with traditionalmethods.

Referring again to FIG. 8, the method 800 involves detecting R-wavepeaks 803-1-803-n in the ECG signal 802. In the illustrated embodiment,the ECG R-wave peaks 803-1-803-n are shown at times T1, T2, T3, T4, T5,and T6. In some embodiments, prior to detecting peaks, the method caninvolve signal processing techniques such as digital bandpass filteringto filter out motion noise from the ECG signal 802. After detection ofthe R-wave peaks 803-1-803-n, the method involves identifying multiplesegments of the PPG signal based on detection of the R-wave peaks of theECG signal, wherein a given segment includes multiple PPG samples and isaligned with a corresponding R-wave peak. For example, in oneembodiment, the method involves identifying the segments S1-Sn of thePPG signal 804 with k samples each, starting from the occurrence of acorresponding ECG R-wave peak. The segments S1-Sn can also be referredto as sections of the PPG signal or sets of PPG samples. In oneembodiment, the value k (the number of samples per window) is a positiveinteger, and is less than the number of samples between two successiveECG R-wave peaks. Dividing the PPG signal 804 into multiple PPG segmentsbased on the detection of the R-waves 803-1-803-n results in multiplesegments or sets 805-1-805-n of PPG samples. In the each illustratedembodiment, each segment 805-1-805-n includes k samples. Note that inthe embodiment illustrated in FIG. 8, the segments 805-1-805-n do notcomprise all PPG samples of the PPG signal. Instead, in one embodiment,a given segment of the PPG signal starts at the detection of an R-wavepeak, and continues for k PPG samples. Thus, the segments 805-1-805-ninclude a subset of PPG samples, in accordance with embodiments. Themethod continues for n segments (or windows) to acquire n segments805-1-805-n, each with k PPG samples. In one embodiment, the value n isa positive integer and is in a range to enable noise suppression withoutsacrificing responsiveness to changes in PTT. For example, in oneembodiment, the number of segments of PPG samples is between 10-30.However, other embodiments can average less than 10 segments or morethan 30. Larger values of n can offer better noise suppression but canbe less responsive to fine-grained changes in PTT.

In one embodiment, the method involves saving the k samples acquired foreach segment to an array. The array can be a software construct orhardware. In accordance with an embodiment, the method stores k samplesfor each of n segments to n one-dimensional arrays. Once the segments805-1-805-n of PPG samples are stored into n arrays, the method 800involves adding and averaging the corresponding elements in each of then arrays. For example, element 1 in each of the arrays 808-1-808-n isadded and averaged, element 2 in each of the arrays 808-1-808-n is addedand averaged, and so on for each element in the arrays. Averaging thecorresponding elements can involve computing a mean average of thecorresponding elements, or other averaging technique. In one embodiment,the averaged elements are saved in another array 810 that also containsk elements. Each element of the array 810 contains the average of thecorresponding element in the n arrays 808-1-808-n, in accordance with anembodiment. For example, the first element of the array 810 is to storean average of the first elements from the arrays 808-1-808-n. The array810 thus stores the averaged PPG waveform 807. In one embodiment,because PPG peaks are phase-locked to R-wave peaks, the PPG peaksself-align in the averaging process, and thus become enhanced.Furthermore, because the motion noise is random and changes phaserandomly with respect to the R-wave peaks, the noise tends to getsuppressed in the averaging process.

The method 800 can then determine the PTT 809 based on the averaged PPGwave 807. In one embodiment, the location of the PPG peak in the array810 corresponds to the PTT because the first element of the array wasanchored to the R-wave peak. Accordingly, an ECG-synchronized PPGaveraging method such as the method 800 of FIG. 8 can enable extractionof PTT reliably when a user is in motion. The blood pressure can then beestimated based on PTT.

FIG. 9A is a flow chart of a method 900A of determining a blood pressurevalue, in accordance with an embodiment. The method 900A can be the sameor similar to the method 800 described above with respect to FIG. 8. Themethod 900A can be performed by hardware, software, or a combination ofhardware and software. For example, the method 900A can be performed bythe blood pressure measurement device of FIG. 405.

The method 900A beings with receiving an ECG signal and a PPG signal, atoperation 902. For example, I/O circuitry (such as the I/O circuitry 417of FIG. 4) receives an ECG signal from an ECG sensor and a PPG signalfrom a PPG sensor. I/O circuitry can receive the ECG and PPG signalsfrom sensors, such as a PPG sensor and ECG sensor as illustrated in FIG.4. Blood pressure estimation logic then performs a number of operationsto estimate a user's blood pressure based on the received PPG and ECGsignals. For example, the blood pressure estimation logic also detectsR-wave peaks in the ECG signal (e.g., with R-wave detection logic 702 ofFIG. 7), at operation 904. In some embodiments, in order to detect theR-wave peaks in the ECG signal in the presence of motion noise, theblood pressure estimation logic first performs digital signal processingtechniques on the ECG signal to remove or suppress motion noise. Forexample, the blood pressure estimation logic can perform digital bandpass filtering to generate a clean ECG signal in which the R-waves aredetectable.

The blood pressure estimation logic can then identify multiple segmentsof the PPG signal based on detection of the R-wave peaks (e.g., with thePPG averaging logic 706 of FIG. 7), at operation 906. For example, asdescribe above with respect to FIG. 8, the blood pressure estimationlogic can identify and/or store multiple segments or sets of PPG samples(e.g., the segments 805-1-805-n) based on detection of correspondingR-wave peaks. In one embodiment, the blood pressure estimation logic canidentify a first sample for each segment in response to detection of acorresponding R-wave peak.

After identifying the PPG segments, the blood pressure estimation logiccan then generate an average PPG wave, at operation 908. For example,the blood pressure estimation logic can compute an average ofcorresponding samples from the multiple segments to generate an averagedPPG wave. The average PPG wave can be computed in accordance with themethod 800 of FIG. 8, described above. Based on the average PPG wave,the blood pressure estimation logic can then compute the blood pressurevalue based on the averaged PPG wave, at operation 910.

FIG. 9B is a flow chart of a method 900B of determining blood pressure,in accordance with an embodiment. The method 900B is an example of themethod 900A, in accordance with an embodiment. The method 900B can beperformed by hardware, software, or a combination of hardware andsoftware. For example, the method 900B can be performed by the bloodpressure measurement device of FIG. 405.

The method 900B begins with sampling ECG and PPG synchronously, atoperation 920. For example, in one embodiment, blood pressure estimationlogic (such as the blood pressure estimation logic 415 of FIG. 4)samples the ECG and PPG signals at the same sampling rate. The methodthen involves generating a clean ECG signal, at operation 922. Forexample, the blood pressure estimation logic (such as the R-wavedetection logic 702 of FIG. 7) processes the ECG signal through a bandpass filter to enable extraction of the R-waves and detection of theR-wave peaks. R-wave detection logic can then detect the next R-wavepeak in the ECG signal, at operation 924. Once an R-wave peak isdetected, 927 YES branch, the blood pressure estimation logic (e.g., thePPG averaging logic 706) saves the next k PPG samples in a buffer. Inaccordance with an embodiment, the k PPG samples defines a singlesegment of the PPG signal. If the R-wave peak is not detected, 927 NObranch, the R-wave detection logic continues to attempt to detect thenext ECG R-wave peak, at operation 924. The blood pressure estimationlogic repeats the process of detecting the next R-wave peak and storingthe next k PPG samples in a buffer until n buffers are filled. Thenumbers k and n can be the same or similar to the numbers k and ndescribed above with respect to FIG. 8.

In the illustrated embodiment, the PPG averaging logic saves the next kPPG samples in a buffer (e.g., PPG_BUFFER_S[i]), at operation 928. Ifthe PPG averaging logic has not saved all k samples in the buffer, 930NO branch, the PPG averaging logic continues to save samples in thebuffer until k samples have been saved, at operation 928. Once the PPGaveraging logic has saved k samples in the buffer, 930 YES branch, thePPG averaging logic moves to the next buffer (e.g., i=i+1 to make thenext PPG_BUFFER_S[i] ready) for filling in the next k samples, atoperation 931. For example, after PPG_BUFFER_S[1] is filled with k PPGsamples, the PPG averaging logic allocates memory for the next buffer,PPG_BUFFER_S[2]. The PPG averaging logic repeats the operations ofsaving k samples based on detection of an R-wave peak n times. Forexample, as illustrated in FIG. 9B, if n PPG buffers are not filled(e.g., if i is not equal to n), the R-wave detection logic continues toattempt to detect the next R-wave peaks at operation 924 and the PPGaveraging logic continues to save the next k PPG samples in a buffer inresponse to detection of the R-wave peak, at operation 928.

Once n PPG buffers are filled, 932 YES branch, the PPG averaging logicaverages corresponding elements in PPG_BUFFER_S[i] (e.g., i=1 to n) andsaves the result in another buffer (e.g., PPG_AVG_BUFFER), at operation934. For example, PPG averaging logic averages corresponding k elementsin all the n PPG segment buffers and creates a new PPG_AVG_BUFFER (e.g.,allocates memory for the buffer) that holds the synchronously averagedPPG waveform. The location of a PPG peak can then be determined usingthe averaged PPG waveform, at operation 936. Unlike conventional PPGaveraging techniques, the synchronously averaged PPG waveform results inan enhanced PPG peak, in accordance with embodiments. In accordance withembodiments, PPG average waveform is phase-locked to the R-wave peaks,and therefore enables suppression of motion noise, which is random inphase with respect to the R-wave peaks. Accordingly, the method 900Benables determination of an average PPG wave that is significantly moreaccurate in the presence of motion noise than conventional techniques.

After generating the average PPG waveform, logic (e.g., PTT logic 708 ofFIG. 7) can determine PTT based on the average PPG waveform, atoperation 937. In the embodiment illustrated in FIG. 9B, the PTT is thehorizontal location of the PPG peak of the average PPG waveform (e.g.,the averaged PPG stored in PPG_AVG_BUFFER) times sampling time. Aftercomputing PTT, logic (e.g., blood pressure logic 710 of FIG. 7) canestimate a blood pressure value based on the PTT, at operation 938. Theblood pressure estimation logic can then flush all the buffers, atoperation 939, and the R-wave peak detection process can begin again.Thus, using ECG R-wave peaks as anchor points to precisely select PPGwaveform segments and averaging those segments can enable efficientmotion noise suppression in the PPG signal. Efficient motion noisesuppression in the PPG signal can then enable accurate blood pressuredetermination without a blood pressure cuff in the presence of motionnoise, in accordance with embodiments.

FIG. 10 is a graph showing a PPG waveform with motion artifacts, inaccordance with an embodiment. PPG peaks detected by conventionaltechniques are shown with an ‘x’ on the detected peaks. For reasonsdescribed above, conventional signal processing techniques are typicallyineffective at removing motion noise from a PPG signal, which in somecases results in the detection of false or spurious PPG peaks as PPGpeaks. In some cases, the noise can completely mask the true PPG peaks,which are then missed by conventional techniques for detecting PPGpeaks. In the example illustrated in FIG. 10, a PPG signal 1000 includestwo segments with motion artifacts 1002 and 1004. The motion artifacts1002 and 1004 are an example of motion artifacts or noise caused bywalking or other movement of the user. The dotted-line circles indicatespurious or missed peaks resulting from the motion noise whenconventional techniques are employed.

In contrast, FIGS. 11A and 11B illustrate an average PPG waveform inaccordance with embodiments described herein, which enables detection ofthe true PPG peak in the presence of motion noise. The graph in FIG. 11Aillustrates the individual PPG segments 1103 (e.g., such as the segments805-1-805-n of FIG. 8) with motion noise superimposed onto a singlegraph. Each segment is from a window that starts at a time of acorresponding R-wave peak, as indicated by the arrow 1102. As can beseen in the graph, some PPG peaks are shifted due to motion noise (suchas peak 1104, which is shifted left). Other peaks are suppressed ormasked due to motion noise (such as the suppressed peak 1106). However,techniques of averaging as described herein that use both the PPG andECG signals can enable suppression of motion noise and extraction of thetrue PPG peak. For example, the graph of FIG. 11B illustrates theaveraged PPG waveform 1109 in accordance with embodiments describedherein. The waveform 1109 is obtained by adding and averaging thecorresponding elements of the segments 1103 of FIG. 11A. Despite thepresence of shifted and masked peaks in some of the segments 1103, themethod of determining the average PPG wave based on the R-wave peaks ofthe ECG signal results in the extraction of a noise-free averaged PPGwave 1109 in which the PPG peak 1110 is not significantly shifted, andcan even be enhanced. As can be seen in FIG. 11B, the methods ofcomputing an averaged PPG waveform described herein can suppress motionnoise and enable detection of true PPG peaks in the presence of motionnoise.

FIG. 12 is a block diagram of a computing system in which a method ofdetermining blood pressure can be implemented, in accordance with anembodiment. As discussed above, one or more of the operations in themethods described herein can be performed by a blood pressure measuringdevice (e.g., the wearable blood pressure measurement device 405 of FIG.4), or by an external computing device, such as the system 1200 of FIG.12.

System 1200 represents a computing device in accordance with anyembodiment described herein, and can be a laptop computer, a desktopcomputer, a server, a gaming or entertainment control system, a scanner,copier, printer, routing or switching device, embedded computing device,or other electronic device.

System 1200 includes processor 1210, which provides processing,operation management, and execution of instructions for system 1200.Processor 1210 can include any type of microprocessor, centralprocessing unit (CPU), graphics processing unit (GPU), processing core,or other processing hardware to provide processing for system 1200, or acombination of processors. Processor 1210 controls the overall operationof system 1200, and can be or include, one or more programmablegeneral-purpose or special-purpose microprocessors, digital signalprocessors (DSPs), programmable controllers, application specificintegrated circuits (ASICs), programmable logic devices (PLDs), or thelike, or a combination of such devices.

In one embodiment, system 1200 includes interface 1212 coupled toprocessor 1210, which can represent a higher speed interface or a highthroughput interface for system components that needs higher bandwidthconnections, such as memory subsystem 1220 or graphics interfacecomponents 1240. Interface 1212 can represent a “north bridge” circuit,which can be a standalone component or integrated onto a processor die.Graphics interface 1240 interfaces to graphics components for providinga visual display to a user of system 1200. In one embodiment, graphicsinterface 1240 generates a display based on data stored in memory 1230or based on operations executed by processor 1210 or both.

Memory subsystem 1220 represents the main memory of system 1200, andprovides storage for code to be executed by processor 1210, or datavalues to be used in executing a routine. Memory subsystem 1220 caninclude one or more memory devices 1230 such as read-only memory (ROM),flash memory, one or more varieties of random access memory (RAM), orother memory devices, or a combination of such devices.

Memory 1230 stores and hosts, among other things, operating system (OS)1232 to provide a software platform for execution of instructions insystem 1200. Additionally, applications 1234 can execute on the softwareplatform of OS 1232 from memory 1230. Applications 1234 representprograms that have their own operational logic to perform execution ofone or more functions. Processes 1236 represent agents or routines thatprovide auxiliary functions to OS 1232 or one or more applications 1234or a combination. OS 1232, applications 1234, and processes 1236 providelogic to provide functions for system 1200. In one embodiment, memorysubsystem 1220 includes memory controller 1222, which is a memorycontroller to generate and issue commands to memory 1230. It will beunderstood that memory controller 1222 could be a physical part ofprocessor 1210 or a physical part of interface 1212. For example, memorycontroller 1222 can be an integrated memory controller, integrated ontoa circuit with processor 1210.

While not specifically illustrated, it will be understood that system1200 can include one or more buses or bus systems between devices, suchas a memory bus, a graphics bus, interface buses, or others. Buses orother signal lines can communicatively or electrically couple componentstogether, or both communicatively and electrically couple thecomponents. Buses can include physical communication lines,point-to-point connections, bridges, adapters, controllers, or othercircuitry or a combination. Buses can include, for example, one or moreof a system bus, a Peripheral Component Interconnect (PCI) bus, aHyperTransport or industry standard architecture (ISA) bus, a smallcomputer system interface (SCSI) bus, a universal serial bus (USB), oran Institute of Electrical and Electronics Engineers (IEEE) standard1394 bus (commonly referred to as “Firewire”).

In one embodiment, system 1200 includes interface 1214, which can becoupled to interface 1212. Interface 1214 can be a lower speed interfacethan interface 1212. In one embodiment, interface 1214 can be a “southbridge” circuit, which can include standalone components and integratedcircuitry. In one embodiment, multiple user interface components orperipheral components, or both, couple to interface 1214. Networkinterface 1250 provides system 1200 the ability to communicate withremote devices (e.g., servers or other computing devices) over one ormore networks. Network interface 1250 can include an Ethernet adapter,wireless interconnection components, USB (universal serial bus), orother wired or wireless standards-based or proprietary interfaces.Network interface 1250 can exchange data with a remote device, which caninclude sending data stored in memory or receiving data to be stored inmemory.

In one embodiment, system 1200 includes one or more input/output (I/O)interface(s) 1260. I/O interface 1260 can include one or more interfacecomponents through which a user interacts with system 1200 (e.g., audio,alphanumeric, tactile/touch, or other interfacing). Peripheral interface1270 can include any hardware interface not specifically mentionedabove. Peripherals refer generally to devices that connect dependentlyto system 1200. A dependent connection is one where system 1200 providesthe software platform or hardware platform or both on which operationexecutes, and with which a user interacts.

In one embodiment, system 1200 includes storage subsystem 1280 to storedata in a nonvolatile manner. In one embodiment, in certain systemimplementations, at least certain components of storage 1280 can overlapwith components of memory subsystem 1220. Storage subsystem 1280includes storage device(s) 1284, which can be or include anyconventional medium for storing large amounts of data in a nonvolatilemanner, such as one or more magnetic, solid state, or optical baseddisks, or a combination. Storage 1284 holds code or instructions anddata 1286 in a persistent state (i.e., the value is retained despiteinterruption of power to system 1200). Storage 1284 can be genericallyconsidered to be a “memory,” although memory 1230 is typically theexecuting or operating memory to provide instructions to processor 1210.Whereas storage 1284 is nonvolatile, memory 1230 can include volatilememory (i.e., the value or state of the data is indeterminate if poweris interrupted to system 1200). In one embodiment, storage subsystem1280 includes controller 1282 to interface with storage 1284. In oneembodiment controller 1282 is a physical part of interface 1214 orprocessor 1210, or can include circuits or logic in both processor 1210and interface 1214.

Power source 1202 provides power to the components of system 1200. Morespecifically, power source 1202 typically interfaces to one or multiplepower supplies 1204 in system 1200 to provide power to the components ofsystem 1200. In one embodiment, power supply 1204 includes an AC to DC(alternating current to direct current) adapter to plug into a walloutlet. Such AC power can be renewable energy (e.g., solar power) powersource 1202. In one embodiment, power source 1202 includes a DC powersource, such as an external AC to DC converter. In one embodiment, powersource 1202 or power supply 1204 includes wireless charging hardware tocharge via proximity to a charging field. In one embodiment, powersource 1202 can include an internal battery or fuel cell source.

FIG. 13 is a block diagram of a mobile device in which a method ofdetermining blood pressure can be implemented, in accordance with anembodiment. Device 1200 represents a mobile computing device, such as acomputing tablet, a mobile phone or smartphone, a wireless-enablede-reader, wearable computing device, or other mobile device, or anembedded computing device. It will be understood that certain of thecomponents are shown generally, and not all components of such a deviceare shown in device 1300.

Device 1300 includes processor 1310, which performs the primaryprocessing operations of device 1300. Processor 1310 can include one ormore physical devices, such as microprocessors, application processors,microcontrollers, programmable logic devices, or other processing means.The processing operations performed by processor 1310 include theexecution of an operating platform or operating system on whichapplications and device functions are executed. The processingoperations include operations related to I/O (input/output) with a humanuser or with other devices, operations related to power management,operations related to connecting device 1300 to another device, or acombination. The processing operations can also include operationsrelated to audio I/O, display I/O, or other interfacing, or acombination. Processor 1310 can execute data stored in memory. Processor1310 can write or edit data stored in memory.

In one embodiment, system 1300 includes one or more sensors 1312.Sensors 1312 represent embedded sensors or interfaces to externalsensors, or a combination. Sensors 1312 enable system 1300 to monitor ordetect one or more conditions of an environment or a device in whichsystem 1300 is implemented. Sensors 1312 can include environmentalsensors (such as temperature sensors, motion detectors, light detectors,cameras, chemical sensors (e.g., carbon monoxide, carbon dioxide, orother chemical sensors)), pressure sensors, accelerometers, gyroscopes,medical or physiology sensors (e.g., biosensors, heart rate monitors,glucose monitors, or other sensors to detect medical or physiologicalattributes), or other sensors, or a combination. Sensors 1312 can alsoinclude sensors for biometric systems such as fingerprint detectors,face detection or recognition systems, or other systems that detect orrecognize user features. Sensors 1312 should be understood broadly, andnot limiting on the many different types of sensors that could beimplemented with system 1300. In one embodiment, one or more sensors1312 couples to processor 1310 via a frontend circuit integrated withprocessor 1310. In one embodiment, one or more sensors 1312 couples toprocessor 1310 via another component of system 1300.

In one embodiment, device 1300 includes audio subsystem 1320, whichrepresents hardware (e.g., audio hardware and audio circuits) andsoftware (e.g., drivers, codecs) components associated with providingaudio functions to the computing device. Audio functions can includespeaker or headphone output, as well as microphone input. Devices forsuch functions can be integrated into device 1300, or connected todevice 1300. In one embodiment, a user interacts with device 1300 byproviding audio commands that are received and processed by processor1310.

Display subsystem 1330 represents hardware (e.g., display devices) andsoftware components (e.g., drivers) that provide a visual display forpresentation to a user. In one embodiment, the display includes tactilecomponents or touchscreen elements for a user to interact with thecomputing device. Display subsystem 1330 includes display interface1332, which includes the particular screen or hardware device used toprovide a display to a user. In one embodiment, display interface 1332includes logic separate from processor 1310 (such as a graphicsprocessor) to perform at least some processing related to the display.In one embodiment, display subsystem 1330 includes a touchscreen devicethat provides both output and input to a user. In one embodiment,display subsystem 1330 includes a high definition (HD) display thatprovides an output to a user. High definition can refer to a displayhaving a pixel density of approximately 100 PPI (pixels per inch) orgreater, and can include formats such as full HD (e.g., 1080p), retinadisplays, 4K (ultra high definition or UHD), or others. In oneembodiment, display subsystem 1330 generates display information basedon data stored in memory and operations executed by processor 1310.

I/O controller 1340 represents hardware devices and software componentsrelated to interaction with a user. I/O controller 1340 can operate tomanage hardware that is part of audio subsystem 1320, or displaysubsystem 1330, or both. Additionally, I/O controller 1340 illustrates aconnection point for additional devices that connect to device 1300through which a user might interact with the system. For example,devices that can be attached to device 1300 might include microphonedevices, speaker or stereo systems, video systems or other displaydevice, keyboard or keypad devices, or other I/O devices for use withspecific applications such as card readers or other devices.

As mentioned above, I/O controller 1340 can interact with audiosubsystem 1320 or display subsystem 1330 or both. For example, inputthrough a microphone or other audio device can provide input or commandsfor one or more applications or functions of device 1300. Additionally,audio output can be provided instead of or in addition to displayoutput. In another example, if display subsystem includes a touchscreen,the display device also acts as an input device, which can be at leastpartially managed by I/O controller 1340. There can also be additionalbuttons or switches on device 1300 to provide I/O functions managed byI/O controller 1340.

In one embodiment, I/O controller 1340 manages devices such as sensors1312, accelerometers, cameras, light sensors or other environmentalsensors, gyroscopes, global positioning system (GPS), or other hardwarethat can be included in device 1300. The input can be part of directuser interaction, as well as providing environmental input to the systemto influence its operations (such as filtering for noise, adjustingdisplays for brightness detection, applying a flash for a camera, orother features).

In one embodiment, device 1300 includes power management 1350 thatmanages battery power usage, charging of the battery, and featuresrelated to power saving operation. Power management 1350 manages powerfrom power source 1352, which provides power to the components of system1300. In one embodiment, power source 1352 includes an AC to DC(alternating current to direct current) adapter to plug into a walloutlet. Such AC power can be renewable energy (e.g., solar power, motionbased power). In one embodiment, power source 1352 includes only DCpower, which can be provided by a DC power source, such as an externalAC to DC converter. In one embodiment, power source 1352 includeswireless charging hardware to charge via proximity to a charging field.In one embodiment, power source 1352 can include an internal battery orfuel cell source.

Memory subsystem 1360 includes memory device(s) 1362 for storinginformation in device 1300. Memory subsystem 1360 can includenonvolatile (state does not change if power to the memory device isinterrupted) or volatile (state is indeterminate if power to the memorydevice is interrupted) memory devices, or a combination. Memory 1360 canstore application data, user data, music, photos, documents, or otherdata, as well as system data (whether long-term or temporary) related tothe execution of the applications and functions of system 1300. In oneembodiment, memory subsystem 1360 includes memory controller 1364 (whichcould also be considered part of the control of system 1300, and couldpotentially be considered part of processor 1310). Memory controller1364 includes a scheduler to generate and issue commands to memorydevice 1362. The device 1300 also include a storage subsystem 1306. Thestorage subsystem 1306 includes one or more storage devices 1301 and acontroller 1305 for controlling access to the storage devices 1301.

Connectivity 1370 includes hardware devices (e.g., wireless or wiredconnectors and communication hardware, or a combination of wired andwireless hardware) and software components (e.g., drivers, protocolstacks) to enable device 1300 to communicate with external devices. Theexternal device could be separate devices, such as other computingdevices, wireless access points or base stations, as well as peripheralssuch as headsets, printers, or other devices. In one embodiment, system130 exchanges data with an external device for storage in memory or fordisplay on a display device. The exchanged data can include data to bestored in memory, or data already stored in memory, to read, write, oredit data.

Connectivity 1370 can include multiple different types of connectivity.To generalize, device 1300 is illustrated with cellular connectivity1372 and wireless connectivity 1374. Cellular connectivity 1372 refersgenerally to cellular network connectivity provided by wirelesscarriers, such as provided via GSM (global system for mobilecommunications) or variations or derivatives, CDMA (code divisionmultiple access) or variations or derivatives, TDM (time divisionmultiplexing) or variations or derivatives, LTE (long term evolutionalso referred to as “4G”), or other cellular service standards. Wirelessconnectivity 1374 refers to wireless connectivity that is not cellular,and can include personal area networks (such as Bluetooth®), local areanetworks (such as WiFi), or wide area networks (such as WiMax), or otherwireless communication, or a combination. Wireless communication refersto transfer of data through the use of modulated electromagneticradiation through a non-solid medium. Wired communication occurs througha solid communication medium.

Peripheral connections 1380 include hardware interfaces and connectors,as well as software components (e.g., drivers, protocol stacks) to makeperipheral connections. It will be understood that device 1300 couldboth be a peripheral device (“to” 1382) to other computing devices, aswell as have peripheral devices (“from” 1384) connected to it. Device1300 commonly has a “docking” connector to connect to other computingdevices for purposes such as managing (e.g., downloading, uploading,changing, synchronizing) content on device 1300. Additionally, a dockingconnector can allow device 1300 to connect to certain peripherals thatallow device 1300 to control content output, for example, to audiovisualor other systems.

In addition to a proprietary docking connector or other proprietaryconnection hardware, device 1300 can make peripheral connections 1380via common or standards-based connectors. Common types can include aUniversal Serial Bus (USB) connector (which can include any of a numberof different hardware interfaces), DisplayPort including MiniDisplayPort(MDP), High Definition Multimedia Interface (HDMI), Firewire, or othertype.

Some embodiments of the disclosure follow. In one embodiment, anapparatus for determining a blood pressure value includes I/O circuitryto receive an electrocardiographic (ECG) signal and aphotoplethysmographic (PPG) signal, and blood pressure estimation logicto: detect R-wave peaks of the ECG signal, identify multiple segments ofthe PPG signal based on detection of the R-wave peaks of the ECG signal,wherein a given segment of the PPG signal comprises multiple PPG samplesand is aligned with a corresponding R-wave peak, and generate anaveraged PPG wave based on the multiple segments of the PPG signal,wherein a given element of the averaged PPG wave comprises an average ofcorresponding elements from the multiple segments of the PPG signal. Theblood pressure estimation logic is also to compute the blood pressurevalue based on the averaged PPG wave, in accordance with an embodiment.

In one embodiment, each segment includes k samples, and the bloodpressure estimation logic is to: for each i=1 to k, add the ith samplesof the multiple segments together and compute an average, wherein theith element of the averaged PPG wave includes the computed average ofthe ith samples of the multiple segments. In one such embodiment, k isless than or equal to a number of samples between successive R-wavepeaks of the ECG signal. In one embodiment, the apparatus furtherincludes an ECG sensor to detect the ECG signal, wherein the ECG sensoris coupled with the I/O circuitry and includes electrodes on a wearablepatch. In one embodiment, the sensor further includes a PPG sensor todetect the PPG signal, wherein the PPG sensor is coupled with the I/Ocircuitry and includes a light emitting diode (LED) and a photodiode ona wearable patch.

In one embodiment, the apparatus further includes a storage array tostore the multiple segments of the PPG signal and the averaged PPG wave.In one embodiment, the blood pressure estimation logic is to: detect aPPG peak in the averaged PPG wave, determine pulse transmit time (PTT)based on a time difference between an ECG R-wave peak and the PPG peakof the averaged PPG wave, and compute an estimate of the blood pressurevalue based on the PTT. In one embodiment, the blood pressure estimationlogic is to: for a given segment of the PPG signal, identify a firstsample of the given segment in response to detection of thecorresponding R-wave peak in the ECG signal. In one embodiment, theblood pressure estimation logic is to: for each segment of the PPGsignal, identify a first sample of the segment in response to detectionof the corresponding R-wave peak in the ECG signal, detect a PPG peak inthe averaged PPG wave, determine pulse transmit time (PTT) based on alocation of the PPG peak of the averaged PPG wave, compute an estimateof the blood pressure value based on the PTT.

In one embodiment, the PPG signal includes motion artifacts in a samefrequency band as PPG peaks of the PPG signal. In one embodiment, theI/O circuitry is to further transmit the blood pressure value to aremote computing device.

In one embodiment, a method of determining a blood pressure valueinvolves receiving an electrocardiographic (ECG) signal and aphotoplethysmographic (PPG) signal, detecting R-wave peaks in the ECGsignal, identifying multiple segments of the PPG signal based ondetection of the R-wave peaks of the ECG signal, wherein a given segmentof the PPG signal comprises multiple PPG samples and is aligned with acorresponding R-wave peak, generating an averaged PPG wave based on themultiple segments of the PPG signal, wherein a given element of theaveraged PPG wave comprises an average of corresponding elements fromthe multiple segments of the PPG signal, and computing the bloodpressure value based on the averaged PPG wave. In one embodiment, eachsegment comprises k samples, and generating the averaged PPG waveinvolves: for each i=1 to k, adding the ith samples of the multiplesegments together and computing an average, wherein the ith element ofthe averaged PPG wave comprises the computed average of the ith samplesof the multiple segments.

In one embodiment, identifying the multiple segments of the PPG signalinvolves for a given segment of the PPG signal, identifying a firstsample of the given segment in response to detection of thecorresponding R-wave peak in the ECG signal. In one embodiment, themethod further involves detecting the ECG signal with an ECG sensorincluding electrodes on a wearable patch. In one embodiment, the methodfurther involves detecting the PPG signal with a PPG sensor on awearable patch, the PPG sensor comprising a light emitting diode (LED)and a photodiode. In one embodiment, the method further involvesdetecting the ECG signal and the PPG signal with sensors on a wearablepatch when a user of the wearable patch is in motion.

In one embodiment, an article of manufacture comprising a computerreadable storage medium having content stored thereon which whenaccessed causes the performance of operations to execute a methodincluding: receiving an electrocardiographic (ECG) signal and aphotoplethysmographic (PPG) signal, detecting R-wave peaks in the ECGsignal, identifying multiple segments of the PPG signal based ondetection of the R-wave peaks of the ECG signal, wherein a given segmentof the PPG signal comprises multiple PPG samples and is aligned with acorresponding R-wave peak, generating an averaged PPG wave based on themultiple segments of the PPG signal, wherein a given element of theaveraged PPG wave comprises an average of corresponding elements fromthe multiple segments of the PPG signal, and computing a blood pressurevalue based on the averaged PPG wave.

In one embodiment, an apparatus for determining a blood pressure valueincludes means to receive an electrocardiographic (ECG) signal and aphotoplethysmographic (PPG) signal, means to detect R-wave peaks of theECG signal, identify multiple segments of the PPG signal based ondetection of the R-wave peaks of the ECG signal, wherein a given segmentof the PPG signal comprises multiple PPG samples and is aligned with acorresponding R-wave peak, generate an averaged PPG wave based on themultiple segments of the PPG signal, wherein a given element of theaveraged PPG wave comprises an average of corresponding elements fromthe multiple segments of the PPG signal, and compute the blood pressurevalue based on the averaged PPG wave. In one embodiment, each segmentcomprises k samples, wherein the means to generate the averaged PPG wavecomprise means to: for each i=1 to k, add the ith samples of themultiple segments together and compute an average, wherein the ithelement of the averaged PPG wave includes the computed average of theith samples of the multiple segments. In one embodiment, the apparatusfurther include means to detect the ECG signal. In one embodiment, theapparatus further includes means to detect the PPG signal. In oneembodiment, the apparatus further includes a storage array to store themultiple segments of the PPG signal and the averaged PPG wave. In oneembodiment, the apparatus further includes means to detect a PPG peak inthe averaged PPG wave and means to determine pulse transmit time (PTT)based on a time difference between an ECG R-wave peak and the PPG peakof the averaged PPG wave, wherein the means to compute the bloodpressure value includes means to estimate the blood pressure value basedon the PTT.

In one embodiment, the means to generate the averaged PPG wave includesmeans to: for a given segment of the PPG signal, identify a first sampleof the given segment in response to detection of the correspondingR-wave peak in the ECG signal. In one embodiment, the means forgenerating the averaged PPG form includes means to: for each segment ofthe PPG signal, identify a first sample of the segment in response todetection of the corresponding R-wave peak in the ECG signal, detect aPPG peak in the averaged PPG wave, and determine pulse transmit time(PTT) based on a location of the PPG peak of the averaged PPG wave,wherein the means to compute the blood pressure value includes means toestimate the blood pressure value based on the PTT. In one embodiment,the apparatus further includes means to transmit the blood pressurevalue to a remote computing device.

Various components described herein can be a means for performing theoperations or functions described. Each component described hereinincludes software, hardware, or a combination of these. The componentscan be implemented as software modules, hardware modules,special-purpose hardware (e.g., application specific hardware,application specific integrated circuits (ASICs), digital signalprocessors (DSPs), etc.), embedded controllers, hardwired circuitry,etc.

Besides what is described herein, various modifications can be made tothe disclosed embodiments and implementations of the invention withoutdeparting from their scope. Therefore, the illustrations and examplesherein should be construed in an illustrative, and not a restrictivesense. The scope of the invention should be measured solely by referenceto the claims that follow.

What is claimed is:
 1. An apparatus for determining a blood pressurevalue, the apparatus comprising: I/O circuitry to receive anelectrocardiographic (ECG) signal and a photoplethysmographic (PPG)signal; and blood pressure estimation logic to: detect R-wave peaks ofthe ECG signal; identify multiple segments of the PPG signal based ondetection of the R-wave peaks of the ECG signal, wherein a segment ofthe PPG signal comprises a predetermined number of PPG samples and isaligned with a corresponding R-wave peak, wherein the predeterminednumber of samples per segment is less than a number of samples in thePPG signal between two successive R-wave peaks; generate an averaged PPGwave based on the multiple segments of the PPG signal, wherein anelement of the averaged PPG wave comprises an average of correspondingelements from the multiple segments of the PPG signal; and compute theblood pressure value based on the averaged PPG wave.
 2. The apparatus ofclaim 1, wherein: each segment comprises k samples; and wherein theblood pressure estimation logic is to: for each i=1 to k, add the ithsamples of the multiple segments together and compute an average,wherein the ith element of the averaged PPG wave comprises the computedaverage of the ith samples of the multiple segments.
 3. The apparatus ofclaim 2, wherein k is less than or equal to a number of samples betweensuccessive R-wave peaks of the ECG signal.
 4. The apparatus of claim 1,further comprising: an ECG sensor to detect the ECG signal, wherein theECG sensor is coupled with the I/O circuitry and comprises electrodes ona wearable patch.
 5. The apparatus of claim 1, further comprising: a PPGsensor to detect the PPG signal, wherein the PPG sensor is coupled withthe I/O circuitry and comprises a light emitting diode (LED) and aphotodiode on a wearable patch.
 6. The apparatus of claim 1, furthercomprising: a storage array to store the multiple segments of the PPGsignal and the averaged PPG wave.
 7. The apparatus of claim 1, whereinthe blood pressure estimation logic is to: detect a PPG peak in theaveraged PPG wave; determine pulse transmit time (PTT) based on a timedifference between an ECG R-wave peak and the PPG peak of the averagedPPG wave; and compute an estimate of the blood pressure value based onthe PTT.
 8. The apparatus of claim 1, wherein the blood pressureestimation logic is to: for a segment of the PPG signal, identify afirst sample of the segment in response to detection of a correspondingR-wave peak in the ECG signal.
 9. The apparatus of claim 1, wherein theblood pressure estimation logic is to: for each segment of the PPGsignal, identify a first sample of the segment in response to detectionof a corresponding R-wave peak in the ECG signal; detect a PPG peak inthe averaged PPG wave; determine pulse transmit time (PTT) based on alocation of the PPG peak of the averaged PPG wave; and compute anestimate of the blood pressure value based on the PTT.
 10. The apparatusof claim 1, wherein the PPG signal comprises motion artifacts in a samefrequency band as PPG peaks of the PPG signal.
 11. The apparatus ofclaim 1, wherein: the I/O circuitry is to further transmit the bloodpressure value to a remote computing device.
 12. A method of determininga blood pressure value, the method comprising: receiving anelectrocardiographic (ECG) signal and a photoplethysmographic (PPG)signal; detecting R-wave peaks in the ECG signal; identifying multiplesegments of the PPG signal based on detection of the R-wave peaks of theECG signal, wherein a segment of the PPG signal comprises apredetermined number of PPG samples and is aligned with a correspondingR-wave peak, wherein the predetermined number of samples per segment isless than a number of samples in the PPG signal between two successiveR-wave peaks; generating an averaged PPG wave based on the multiplesegments of the PPG signal, wherein a given an element of the averagedPPG wave comprises an average of corresponding elements from themultiple segments of the PPG signal; and computing the blood pressurevalue based on the averaged PPG wave.
 13. The method of claim 12,wherein: each segment comprises k samples; and wherein generating theaveraged PPG wave comprises: for each i=1 to k, adding the ith samplesof the multiple segments together and computing an average, wherein theith element of the averaged PPG wave comprises the computed average ofthe ith samples of the multiple segments.
 14. The method of claim 13,wherein k is less than or equal to a number of samples betweensuccessive R-wave peaks of the ECG signal.
 15. The method of claim 12,wherein identifying the multiple segments of the PPG signal comprises:for a segment of the PPG signal, identifying a first sample of thesegment in response to detection of a corresponding R-wave peak in theECG signal.
 16. The method of claim 12, further comprising: detectingthe ECG signal with an ECG sensor comprising electrodes on a wearablepatch.
 17. The method of claim 12, further comprising: detecting the PPGsignal with a PPG sensor on a wearable patch, the PPG sensor comprisinga light emitting diode (LED) and a photodiode.
 18. The method of claim12, further comprising: detecting the ECG signal and the PPG signal withsensors on a wearable patch when a user of the wearable patch is inmotion.
 19. An article of manufacture comprising a computer readablestorage medium having content stored thereon which when accessed causesthe performance of operations to execute a method comprising: receivingan electrocardiographic (ECG) signal and a photoplethysmographic (PPG)signal; detecting R-wave peaks in the ECG signal; identifying multiplesegments of the PPG signal based on detection of the R-wave peaks of theECG signal, wherein a segment of the PPG signal comprises apredetermined number of PPG samples and is aligned with a correspondingR-wave peak, wherein the predetermined number of samples per segment isless than a number of samples in the PPG signal between two successiveR-wave peaks; generating an averaged PPG wave based on the multiplesegments of the PPG signal, wherein an element of the averaged PPG wavecomprises an average of corresponding elements from the multiplesegments of the PPG signal; and computing a blood pressure value basedon the averaged PPG wave.
 20. The article of manufacture of claim 19,wherein: each segment comprises k samples; and wherein generating theaveraged PPG wave comprises: for each i=1 to k, adding the ith samplesof the multiple segments together and computing an average, wherein theith element of the averaged PPG wave comprises the computed average ofthe ith samples of the multiple segments.